#ifndef __PROGRAM_H__
#define __PROGRAM_H__

#include "utils/singleton.h"
#include "container/wincontainer.h"

class Program : public Singleton<Program>
{
public:
	Program();
	~Program();

	void Run(LPTSTR lpstrCmdLine = NULL, int nCmdShow = SW_SHOWDEFAULT);

private:
	void OnWinCreate(Size size);
	void OnWinClose();
	void OnWinMouseMove(Point pos);
	void OnWinMouseLButtonDown(Point pos);
	void OnWinMouseLButtonUp(Point pos);

	void OnGameReady();
	void OnGameExit();

private:
	WinContainer m_win;
};

#endif